# Maintainer: Konstantin Gizdov <arch at kge dot pw>

_pkgname=cuda
pkgbase="python-${_pkgname}"
pkgname=("python-${_pkgname}" "python-${_pkgname}-docs")
pkgver=12.1.0
pkgrel=2
pkgdesc="Python interface for CUDA provided by NVIDIA."
arch=('loong64' 'x86_64')
url="https://nvidia.github.io/cuda-python"
license=('custom')
depends=('cuda' 'cython' 'python-pyclibrary' 'NVIDIA-MODULE')
makedepends=('git' 'python-wheel' 'python-build' 'python-installer' 'python-setuptools-scm')
checkdepends=('python-pytest' 'python-pytest-benchmark' 'python-numpy' 'python-scipy')
options=(!emptydirs)
source=("${pkgbase}::git+https://github.com/NVIDIA/cuda-python#tag=v${pkgver}")
sha256sums=('SKIP')

get_pyver () {
    python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
}

build() {
  cd "${srcdir}/${pkgbase}"
  python -m build --wheel --no-isolation
}

check() {
  cd "${srcdir}/${pkgbase}"
  echo 'pythonpath = '"${PWD}/build/lib.linux-${CARCH}-$(get_pyver)" >> pytest.ini
  # cannot run tests in chroot
  # python -m pytest --import-mode=importlib
}

package_python-cuda() {
  cd "${srcdir}/${pkgname}"

  install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
  python -m installer --destdir="${pkgdir}" dist/*.whl
}

package_python-cuda-docs() {
  cd "${srcdir}/${pkgbase}"

  install -d -m755 "${pkgdir}/usr/share/doc/${pkgname}"
  cp -a docs/* "${pkgdir}/usr/share/doc/${pkgname}"
  install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
